// for-of 循环   可遍历 数组 伪数组 等

//遍历数组
const arr =[100, 200, 300, 400]

// for (const item of arr) {
//     console.log(item);
// }

// 用于取代forEach => 
// forEach不能跳出循环
// arr.forEach( item => {
//     console.log(item);
// })

//可使用break关键词随时终止循环
// for (const item of arr) {
//     console.log(item);
//     if (item > 100){
//         break
//     }       
// }

// 以前为了能够随时终止遍历  使用some或者every
// arr.some()       // 返回 true 终止遍历
// arr.every()      // 返回 false 终止遍历


// 遍历Set对象
// const s = new Set(['foo', 'bar'])

// for (const item of s) {
//     console.log(item);
// }


// 遍历map对象
// const m = new Map()
// m.set('foo', '123')
// m.set('bar', '345')

// for (const [key, value] of m) {
//     console.log(key, value);
// }


// 遍历普通对象     //会报错
// ES6中需要给其他遍历的数据类型使用  Iterable接口 - 可迭代接口
// 使用Iterable 接口时for - of 前提
const obj = { foo: 123, bar: 456}

for (const item of obj) {
    console.log(item);
}

